#include <QWidget>
#include <string>
#include <vector>


#ifndef _eLT
#define _eLT
enum eLT{eNone,eThr1,eThr2,eToT};
#endif


class QLCDNumber;
class QwtPlot;
class QwtPlotCurve;
class QwtPlotCurve;
class QwtWheel;
class QSlider;
class QString;
class QString;
class QTreeWidget;
class QTreeWidgetItem;
class QCheckBox;

class pmtTrace;
class see;
class tCandidate;
class tStation;
class tEventsummary;

class qTankList;

using namespace std;


class qManager : public QWidget
{
  Q_OBJECT
      
  public:
    qManager(see* event,QWidget *parent = 0);
    ~qManager();
    void setTankListPointer(qTankList* tankList);
    void setViewDetBox(QCheckBox* detBox);
    void setViewRefBox(QCheckBox* refBox);
    void setViewDetWidget(QWidget* detWidget);
    void setViewRefWidget(QWidget* refWidget);
    bool showDetector;
    
  public slots:
    //void changeTank(int newTankId,eLT lt,int sIndex);
    void changeEvent(int eventIndexNo);
    void changeEvent(see* newEvent);
    void detTankChanged(int sId);
    void listTankChanged(int sId,eLT lt,int sIndex);
    
    void viewDetChanged(int);
    void viewRefChanged(int);
    void viewInfChanged(int);
    void detWindClosed();
    void refWindClosed();
    void infWindClosed();
    
    void openFile();
    
  signals:
    void valueChanged(pmtTrace* trace);
    void setTankList(vector<tCandidate>* newList);
    void setEventsList(vector<tEventsummary> *eventsList);
    void newDetector(vector<tStation>* newList);
    void setInfo(tCandidate* tankInfo);
    void detTankSelect(int sId,eLT lt);
    void listTankSelect(int sId);
    
  private:
    see* evento;
    qTankList* tankListPointer;
    QCheckBox* viewDetBox;
    QCheckBox* viewRefBox;
    QWidget* viewDetWidget;
    QWidget* viewRefWidget;
};
